package com.x.Part4_arrayTools;

import java.util.Arrays;

/**
 * ClassName: ArrayClass
 * Package: IntelliJ IDEA
 * Description:
 * Written by HanXu
 * Create 2023/9/14 3:21
 */
public class ArrayTools {
    public static void main(String[] args) {

        //boolean equals(int[] a,int[] b)：比较两个数组的元素是否依次相等
        int[] arr1 = new int[]{1,2,3,4,5};
        int[] arr2 = new int[]{1,2,3,4,5};
        arr2 = new int[]{1,2,3,5,4};

        //比较地址值是否一致
        System.out.println(arr1 == arr2);

        //比较内容是否一致
        boolean isEquals = Arrays.equals(arr1,arr2);
        System.out.println(isEquals);//true ---> false


        //String toString(int[] a):输出数组元素信息,输出一个包含数组内容的字符串
        System.out.println(Arrays.toString(arr1));


        //void fill(int[] a,int val):将指定值填充到数组之中。
        Arrays.fill(arr1,10);
        System.out.println(Arrays.toString(arr1));

        //void sort(int[] a):使用快速排序算法实现的排序
        int[] arr3 = new int[]{34,54,3,2,65,7,34,5,76,34,67};
        Arrays.sort(arr3);
        System.out.println(Arrays.toString(arr3));

        //int binarySearch(int[] a,int key):二分查找
        //使用前提：当前数组必须是有序的
        int index = Arrays.binarySearch(arr3,15);
        if(index >= 0)
            System.out.println("找到了，索引位置为：" + index);
        else
            System.out.println("未找到");

        //返回负数，就是没找到，此负数取反，为未找到应该在数组的位置序列
        System.out.println("binarySearch()返回结果为"+index+",说明15应该处于该数组的第"+(-index)+"个位置");
    }
}
